Method and system to subscription of events using sip protocol

ABSTRACT

A method in a communication system, the system comprising a first entity maintaining registration information from a plurality of users and a second entity maintaining information associated with said plurality of users, wherein said second entity information is dependent on the registration information. The method comprises sending a subscribe message for an event from the second entity to the first entity, wherein the event is a change in the registration information of at least one of the plurality of users at the first entity; receiving at the first entity a register message from at least one user, said message changing the registration information of said at least one user; sending a notification from the first entity to the second entity in response to the register message, wherein the notification includes information associated with said at least one user.

FIELD OF INVENTION

The present invention relates to a communication system, in particular to subscription of events in a communication system.

BACKGROUND TO THE INVENTION

A diverse range of communication systems are in use today enabling communication between two or more entities, such as user equipment and/or other nodes associated with the system.

Communication systems proving wireless communication for user terminals or other nodes are known. An example of a wireless system is a public land mobile network (PLMN). A PLMN is typically a cellular network wherein a base transceiver station (BTS) or similar access entity serves user equipment (UE) such as mobile stations (MS) via a wireless interface. The operation of the apparatus required for the communication is usually controlled by one or more control entities, which themselves may be interconnected. One or more gateway nodes provide for connecting the PLMN to other networks. Examples of other such networks are another cellular network, a public switched telephone network (PSTN) and packet switched data networks such as an IP (Internet Protocol) based network. The communication between the user equipment and the other elements of the communication system are based on an appropriate communications protocol, which defines the “rules” under which communication is handled in the system.

In the current third generation (3G) wireless system, there are defined various servers for the handling of different communication services for mobile users. These include servers that provide call state control functions; known as CSCFs. Control functions may also be provided by entities such as a home subscriber server (HSS) and applications by various application servers. The HSS is typically for permanently storing the user's profile and used during authentication. For example, in the Release 5 architecture for 3G, as specified by the 3^(rd) Generation Partnership Project (3GPP), these entities can be found located in the IP Multimedia Subsystem (IMS).

The IMS network may sit at the hub of the 3G architecture, supporting an IP based network that handles both traditional voice telephony and multimedia services. The 3GPP has chosen Session Initiation Protocol (SIP) as a core session signalling protocol for 3G networks. SIP has been developed by the Internet Engineering task Force (IETF). Those interested can find the 3GPP specification 24.229 describing the IMS network's basic operation from an SIP perspective titled “IP Multimedia Call Control Protocol based on SIP and SDP” at http://www.3qpp.org/ftp/Specs/Latest-drafts/24229-201.zip. SIP is a request/response style protocol, in the sense that for every message sent from a source, there is an associated response from the destination confirming receipt of the sent message.

For example, in a 3G network, when a user first switches on his mobile terminal, he must register his user ID or address with the network before allowing the terminal to fully connect. This is done by sending an SIP ‘REGISTER’ message from the terminal to the IMS, which includes details of the users address. The IMS receives and processes this information using a serving call state control function (S-CSCF), which in this context is referred to as the “registrar”. This registration information may include the status of the user such as user address, location, terminal capability and user availability.

The IMS acknowledges the registration by sending a suitable acknowledge message (e.g. 200 OK message) in accordance with SIP. Subsequent registrations also take place (re-‘REGISTER’) whenever the preceding registration has expired, or when there is a change in the status of the user. When a user wishes to set up a session with another user, such as a voice call or sending of a text message, the session negotiation will also be performed under SIP.

Application servers (AS) may supply services via the IMS such as instant messaging, local traffic reports, and conferencing facilities. An AS may reside within the IMS network, or outside of it. Typically the AS is external when the service supported is provided by a third party. For example, an AS providing local traffic reports may need the latest information on the status of any users subscribing to that service. As noted above, status information can be updated using an SIP re-REGISTER message. The AS server requiring this status information therefore subscribes, using an SIP SUBSCRIBE message, to the REGISTER messages sent by the user subscribing to the instant messaging service offered by the AS. The IMS logs these SUBSCRIBE messages, and sends out a NOTIFY message to the AS every time a relevant REGISTER message is received. The AS can then use this information to implement its traffic reporting service. Further information on the SUBSCRIBE/NOTIFY mechanism can be found in the IETF Internet Draft titled “SIP-Specific Event Notification” which can be found at http://www.ietf.org/internet-drafts/draft-ietf-sip-events-05.txt.

One specific example of status information is presence information. Users or application servers subscribing to a presence service can determine the ability and availability of another user to accept a call. For example, in a PSTN arrangement, the concept of presence extends to little more than an indication of being online (ringing) or offline (engaged). However, in systems supporting SIP, presence can assume a variety of indicators such as ‘in the office and available for all calls’, ‘at home and available for private calls only’, and ‘busy in call’ (or at least appear that way). Thus presence information allows a user to ascertain the availability of another user before attempting to make a call. Like other status information as discussed above, it is relayed to the network in a REGISTER message.

There are presently two key elements in implementing a presence service in accordance with SIP: a registrar and a presence server. The registrar receives and processes all REGISTER messages on users of the network. The presence server handles subscriptions to presence information relating to a user of the network from elements such as other users or application servers. Due to the overlapping nature of the functionality offered by both elements, the registrar and presence server typically share a proprietary location resource such as a LDAP (Lightweight Directory Access Protocol) directory or a location server to which both elements interface. Alternatively, the registrar and the presence server functionality can be run in a shared process, both having access to registration updates. The effect of these proprietary solutions is the same: co-location of the registrar and presence server. In the IMS arrangement discussed-above, the registrar and presence server would be co-located in a S-CSCF. As the functionality offered by the presence server is considerable, there is a resulting increase in the load of the shared resource, which will have to handle both registrations and a large number of requests for presence information.

The inventors have discovered that there are desirable benefits of separating the registrar and presence server functionality and have them operate independently. They have developed a solution to enable this separation that does not use proprietary interfaces, resulting in better integration with overall network in which they operate.

It shall be appreciated that although the above discussed problems relate to subscriptions to SIP events in IP based third generation (3G) communication systems, similar disadvantages may associate with other systems as well and thus the description is not limited to these examples.

SUMMARY OF THE INVENTION

Embodiments of the present invention aim to overcome one or several of the above problems.

According to one aspect of the present invention, there is provided a method in a communication system, the system comprising a first entity maintaining registration information from a plurality of users and a second entity maintaining information associated with said plurality of users, wherein said second entity information is dependent on the registration information. The method comprises sending a subscribe message for an event from the second entity to the first entity, wherein the event is a change in the registration information of at least one of the plurality of users at the first entity; receiving at the first entity a register message from at least one user, said message changing the registration information of said at least one user; sending a notification from the first entity to the second entity in response to the register message, wherein the notification includes information associated with said at least one user.

Preferably an event package is defined, the event package being associated with said event.

Preferably the first entity is a registrar, and the second entity is a presence server. The change in registration information may relate to presence information.

The system may operate in accordance with a session initiation protocol (SIP), and wherein the subscribe message may comprise a SIP SUBSCRIBE message, and the notification may comprise a SIP NOTIFY message.

In preferred embodiments a third entity sends a subscribe message to the second entity for information associated with said at least one user.

The second entity may send a notification to the third entity in response to the notification received at the second entity, wherein said sent notification includes information associated with said at least one user. The third entity may be an application server.

According to a second aspect of the present invention, there is provided a communication system comprising a first entity for maintaining registration information from a plurality of users and a second entity for maintaining information associated with said plurality of users, wherein said second entity information is dependent on the registration information; said second entity operable to send a subscribe message for an event to the first entity and said first entity operable to receive a register message from at least one user, said register message changing the registration information of said at least one user, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the first entity; and said first entity operable to send a notification from the first entity to the second entity in response to the register message, wherein the notification includes information associated with said at least one user.

According to a third aspect of the present invention, there is provided a network element comprising means for maintaining registration information from a plurality of users; means for receiving a subscribe message for an event from a first entity, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the network element; means for receiving a register message from at least one user, said register message changing the registration information of said at least one user; and means for sending a notification to the first entity in response to the register message, wherein the notification includes information associated with said at least one user.

According to a fourth aspect of the present invention, there is provided a network element comprising means for maintaining information associated with a plurality of users, wherein said information is dependent on registration information maintained at a first entity; means for sending a subscribe message for an event to the first entity, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the first entity; and means for receiving a notification from the first entity, wherein the notification includes information associated with said at least one user.

BRIEF DESCRIPTION OF DRAWINGS

Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which:

FIG. 1 illustrates a communication system wherein the present invention can be applied;

FIG. 2 illustrates the arrangement of the registrar and presence server in accordance with the prior art.

FIG. 3 illustrates one embodiment of the present invention.

FIG. 4 illustrates the message flow of one embodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS

Reference will now first be made to the FIG. 1, which illustrates a typical 3^(rd) Generation (3G) Wireless telecommunications system operating under the Universal Mobile Telecommunications System (UMTS). At the hub of this system is the IP Multimedia Subsystem (IMS) 100 network, which routes calls between two or more users of the network and provides other network functions. Examples of users are mobile terminal 111, laptop 112, personal desktop assistant (PDA) 113, Public Switched Telephone Network (PSTN) telephone 131, computer terminal 123, and application server 121, and application server 122. The IMS uses an IP based network to handle these calls, which may include both voice calls and multimedia calls.

The IMS network effectively acts as a gateway in a 3G system between the users 111, 112, 113, and other networks such as a PSTN 130 and external IP based network 120. Signalling between the mobile terminal and other users of the IMS network, and within the IMS network, is done under the Session Initiation Protocol (SIP). All references to messages that follow are SIP messages unless otherwise stated, and will be shown in capitals.

FIG. 2 shows a schematic of the IMS network 100 of the prior art. The IMS includes various elements including several Call State Control Functions (CSCF). A CSCF is equivalent to a SIP server in the IETF architecture.

The Interrogating CSCF (1-CSCF) 201 is the basic IMS node used for terminating calls in the IMS network, functioning at the edge of the network.

Here, it is shown communicating with the external nodes of a mobile terminal 101, a PDA 113, and an application server (AS) 121. It should be appreciated that the connections between the mobile terminal, the PDA and the application server to the l-CSCF may not be direct, but via a suitable intermediate network such as the mobile core network 110 for the mobile terminal, and the Internet 120 for the application server, as shown in FIG. 1.

The HSS 202 is a centralised user database that interfaces with both the I-CSCF and the S-CSCF, storing information on all users of the IMS. The I-CSCF uses the HSS to perform functions such as authorising of new users and retrieving routing information on the S-CSCF for forwarding messages from external elements to the S-CSCF.

The S-CSCF 206 is the IMS node responsible for invoking services related to IMS users. In this example, the S-CSCF also performs registrar functionality 203 for IMS users, processing user registrations, and also provides presence server functionality 205. As both these elements, 203 and 205, have overlapping functionality, in that they both require information received from users in REGISTER messages, they also share a common resource 204. Here the common resource is shown to be a LDAP directory, but could also be a location server. Alternatively the registrar and presence server functionality are run as a shared process both having access to registration updates.

The reception of a REGISTER message can be classified as an event. Events can be any change of state and associates with an entity, such as a user or another node, in the communication system. Thus an element, such as an application server can subscribe specifically to REGISTER messages relating to a user, or other events such as reception of INVITEs. Further examples of events include presence information of a user and buddylists, which are effectively collections of users that a subscriber is interested in learning the presence information of. It is therefore the S-CSCF that detects the specific events subscribed to by a user, and sends out an appropriate NOTIFY messages in response.

However, to subscribe to an event, an event package must be defined, which sets out the properties of the event. In the case of the event presence, a presence package is used for subscribing to the presence information of any user. The semantics of the presence package means that any user can send a subscription message for presence information to the presence server, but if there is no such presence package defined, the presence server would not be able to recognise to what event the user was trying to subscribe to. Therefore, the presence package needs to be defined at the presence server, which can then receive and recognise that the subscription message for the associated event for changes in presence information. The presence server creates a state linked to the presence information, and when any change in the presence information occurs, it will trigger a response or notification.

The presence server interfaces with the shared resource 204, which stores the presence information. The registrar 203 maintains this information, by updating it with information received in REGISTER messages sent by users performing registrations.

Reference will now be made to FIG. 3, which shows a detailed schematic of the IMS network 100 in an embodiment of the present invention. There is an I-CSCF 201, an HSS 202, a registrar 301, and a presence server 302. The I-CSCF is shown is shown communicating with the external nodes of a mobile terminal 101, a PDA 113, and an application server 121. The registrar includes suitable storage means 302 for storing registration. Likewise, the presence server has its own storage means 304 for storing presence information. The presence server shown is one specific example of an application server. Other types of application server include: messaging servers, which handle the sending and receiving of messages between users; content servers, which serve general information to users; and group servers, which maintain information on groups of users that can be accessed by other applications such as the messaging server for group delivery lists.

In this embodiment of the present invention, it is only the registrar that handles registrations from users such as mobile terminal 101, and only the presence server that handles presence queries from elements such as application server 121. Communication between the registrar and the presence server is performed by way of SIP messages.

A new SIP event package is defined, which is implemented by registrars and used by the presence server. The new event package is defined as the aggregate of all the REGISTER messages that change the registration details of any user received at a registrar. For the sake of simplicity, this event package shall be referred to as “registrations” package, which defines the event “registrations”. This “registrations” package is used by the presence server in subscribing to the registrar for changes in the registration status of any user. The registrar creates a state, which triggers a notification back to the presence server whenever a change occurs in the registration status. In effect, the “registration” covers all REGISTER messages sent by any user received by the registrar where a subscription to “registrations” has been previously received by the registrar to the event “registrations”. The “registration” event therefore covers all users in a registrar's domain with a single event. The domain can be thought of as a group of users handled by a given registrar.

The presence server can then use the SUBSCRIBEINOTIFY mechanism, and SUBSCRIBE to “registrations” at the registrar. Whenever the “registrations” event occurs, the registrar sends a NOTIFY message with the user's identity and registration status to the presence server.

The result is that the presence server now keeps a record 304 of registration information that is separate from the one used by the registrar 302. The presence server can therefore provide presence information to other elements such as application server 121 independently of the registrar, without needing to utilise any shared resource.

Furthermore, the only link between the registrar and presence server is through SIP messages and the using the newly defined event, and not a proprietary arrangement as in the prior art.

The function of the elements in FIG. 3 in one embodiment of the present invention will now be described in more detail with reference to the message flow diagram of FIG. 4.

FIG. 4 describes the following process:

1. Define new event package, for the event “registrations” to be implemented by registrar and used by presence server.

2. The presence server 303 sends a ‘SUBSCRIBE to “registrations” event’ message to the registrar 301.

3. The registrar acknowledges the SUBSCRIBE message with a ‘200 OK’ message.

4. Application server (AS) 121 sends a ‘SUBSCRIBE to presence information for mobile terminal 101 and PDA 113’ message to the presence server.

5. The presence server acknowledges the SUBSCRIBE message from the AS with a ‘200 OK’ message.

6. Mobile terminal 101 sends a REGISTER message to the registrar.

7. The registrar acknowledges receipt of the REGISTER message with a ‘200 OK’ message, and updates the registration details at the registrar 302.

8. The REGISTER message sent by mobile terminal 101 satisfies the event “registrations” to which the presence server has subscribed.

The registrar therefore sends a NOTIFY message to the presence server which includes user and registration status details of the mobile terminal. These details are maintained at the presence server 304.

9. The presence server acknowledges the NOTIFY message with a ‘200 OK’ message.

10. As the presence information relating to mobile terminal 101 has been subscribed to by AS 121, which has now changed, the presence server sends a NOTIFY message to the AS with details of the change in presence information.

11. The AS acknowledges the NOTIFY message with a ‘200 OK’ message.

12. PDA 113 sends a REGISTER message to the registrar.

13. The registrar acknowledges receipt of the REGISTER message with a ‘200 OK’ message, and updates the registration details at the registrar 302.

14. The registrar also sends the presence server a NOTIFY for this REGISTER message as the “registration” event subscribed to in step 2 by the presence server covers all REGISTER messages handled by the registrar. The NOTIFY message includes user and registration status details of the PDA. These details are maintained at the presence server 304.

15. The presence server acknowledges the NOTIFY message with a ‘200 OK’ message.

16. As the presence information relating to PDA has been subscribed to by AS 121, which has now changed, the presence server sends a NOTIFY message to the AS with details of the change in presence information.

17. The AS acknowledges the NOTIFY message with a ‘200 OK’ message.

It should be appreciated that although embodiments of the present invention have been described in the context of 3G using SIP, other suitable systems and interface protocols could be used.

It should also noted herein that while the above describes exemplifying embodiments of the invention, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention as defined in the appended claims. 

1. A method in a communication system, the system comprising a first entity maintaining registration information from a plurality of users and a second entity maintaining information associated with said plurality of users, wherein said second entity information is dependent on the registration information, and said method comprising: sending a subscribe message for an event from the second entity to the first entity, wherein the event is a change in the registration information of at least one of the plurality of users at the first entity; receiving at the first entity a register message from at least one user, said message changing the registration information of said at least one user; sending a notification from the first entity to the second entity in response to the register message, wherein the notification includes information associated with said at least one user.
 2. The method as claimed in claim 1, where an event package is defined, the event package being associated with said event.
 3. The method as claimed in claim 2, wherein the first entity is a registrar.
 4. The method as claimed in claim 3, wherein the change in registration information relates to presence information.
 5. The method as claim in claim 4, wherein the second entity is a presence server.
 6. The method as claimed in claim 1, wherein the system operates in accordance with a session initiation protocol (SIP).
 7. The method as claimed in claim 6, wherein the subscribe message comprises a SIP SUBSCRIBE message, and the notification comprises a SIP NOTIFY message.
 8. The method as claimed in claim 1 wherein a third entity sends a subscribe message to the second entity for information associated with said at least one user.
 9. The method as claimed in claim 8, wherein the second entity sends a notification to the third entity in response to the notification received at the second entity, wherein said sent notification includes information associated with said at least one user.
 10. The method as claimed in claim 8, wherein the third entity is an application server.
 11. A communication system comprising: a first entity for maintaining registration information from a plurality of users and a second entity for maintaining information associated with said plurality of users, wherein said second entity information is dependent on the registration information; said second entity operable to send a subscribe message for an event to the first entity and said first entity operable to receive a register message from at least one user, said register message changing the registration information of said at least one user, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the first entity; and said first entity operable to send a notification from the first entity to the second entity in response to the register message, wherein the notification includes information associated with said at least one user.
 12. A communication system as claimed in claim 11, further comprising an event package associated with said event.
 13. A communication system as claimed in claim 12, wherein the first entity is a registrar.
 14. A communication system as claimed in claim 13, wherein the change in registration information relates to presence information.
 15. A communication system as claimed in claim 14, wherein the second entity is a presence server.
 16. A communication system as claimed in claims 11 to 15 claim 11, wherein the system operates in accordance with a session initiation protocol (SIP).
 17. A network element comprising: means for maintaining registration information from a plurality of users; means for receiving a subscribe message for an event from a first entity, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the network element; means for receiving a register message from at least one user, said register message changing the registration information of said at least one user; and means for sending a notification to the first entity in response to the register message, wherein the notification includes information associated with said at least one user.
 18. A network element comprising: means for maintaining information associated with a plurality of users, wherein said information is dependent on registration information maintained at a first entity; means for sending a subscribe message for an event to the first entity, wherein the event is associated with a change in the registration information of at least one of the plurality of users at the first entity; and means for receiving a notification from the first entity, wherein the notification includes information associated with said at least one user. 